package bndtools.jareditor.internal.utils;
import java.util.Collection;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
public class CollectionUtil {
public static <K, V> Map<V,Set<K>> invertMapOfCollection(Map<K, ? extends Collection<V>> mapOfCollection) {
Map<V,Set<K>> result = new TreeMap<V,Set<K>>();
for (Entry<K, ? extends Collection<V>> inputEntry : mapOfCollection.entrySet()) {
K inputKey = inputEntry.getKey();
Collection<V> inputCollection = inputEntry.getValue();
for (V inputValue : inputCollection) {
Set<K> resultSet = result.get(inputValue);
if (resultSet == null) {
resultSet = new TreeSet<K>();
result.put(inputValue, resultSet);
}
resultSet.add(inputKey);
}
}
return result;
}
}